import { useUserStore } from "@/store/modules/user";
class miniappToken {
  constructor() {}
  // 初始化登陆
  async verify() {
    const userStore = useUserStore();
    let token = userStore.getToken; // 获取缓存
    if (!token) {
      // 向微信api拿code，再向tp的api拿token
       await this.getTokenFromServer();
    } else {
      // 验证token是否过期，过期调用.getTokenFromServer函数获取
      await this._veirfyFromServer();
    }
  }
  // 验证token
  async _veirfyFromServer() {
    const userStore = useUserStore();
    // 其实是更新用户信息，顺带获取token
    await userStore.getuserInfo().catch(async (err) => {
      // 如果验证码过期，则清除登录信息
      if (err.code == 401) {
        userStore.loginOut();
        await this.getTokenFromServer();
      }
    });
  }
  // 静默获取Token
  async getTokenFromServer() {
    const userStore = useUserStore();
    await userStore.silentLogin().catch((err) => {
      console.log(err);
    });
  }
}
export { miniappToken };
